from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
# 每个GUI应用程序必须只有一个QApplication实例:上面一行中的方括号"[]"表示传递给应用程序的命令行参数，例如：
# app = QApplication(sys.argv) 其中sys.argv是一个参数列表，打印sys.argv可以得到这个文件名，和运行这个命令是输入的参数
app = QApplication([])
window = QWidget()

# 为了实际看到一些东西，我们创建一个简单的label
# label = QLabel("Hello World!")

# 下面创建一个Label，在创建时指定了父对象
label = QLabel("账号", window)
label.setGeometry(20, 20, 30, 20)
# 设置图标
window.setWindowIcon(QIcon('a.PNG'))
window.setWindowTitle("Demo")
# 告诉QT在屏幕上显示label
# label.show()

win_width = 500
win_height = 500

window.resize(win_width, win_height)

# 文本框
edit = QLineEdit(window)
edit.setPlaceholderText("请输入账号")
edit.setGeometry(55, 20, 200, 20)

# 在窗口中添加控件
button = QPushButton("注册")
button.setGeometry(100, 80, 70, 30)

# 相当于把按钮放到窗口中才能展示
button.setParent(window)
window.move(0, 0)

# 获得窗口的坐标
center_pointer = QDesktopWidget().availableGeometry().center()
x = center_pointer.x()
y = center_pointer.y()

# 获得窗口的大小
# old_x, old_y, width, height = window.frameGeometry().getRect()

window.move(x - (win_width // 2), y - (win_height // 2))

window.show()
# 最后一步是将控制权交给QT并要求它“运行应用程序，直到用户关闭它”，少了它界面会一闪已过。
# 本质上是程序在进行循环等待
app.exec_()

